package xj.graph2d.shapes;

public interface ShapeConstants {

  // regular polygon shape types
  public static final int BOX_SHAPE = 0;

  public static final int TRIANGLE_SHAPE = 1;

  public static final int RIGHT_TRIANGLE_SHAPE = 2;

  public static final int DIAMOND_SHAPE = 3;

  public static final int TRAPEZOID_SHAPE = 4;

  public static final int PARALLELOGRAM_SHAPE = 5;

  public static final int HOUSE_SHAPE = 6;

  public static final int CAVE_SHAPE = 7;

  public static final int BOW_TIE_SHAPE = 8;

  public static final int BRIDGE_SHAPE = 9;

  public static final int PENTAGON_SHAPE = 10;

  public static final int PENTAGON2_SHAPE = 11;

  public static final int HEXAGON_SHAPE = 12;

  public static final int OCTAGON_SHAPE = 13;

  public static final int DEFAULT_RECT_SHAPE = 14;

  public static final int DBOX_SHAPE = 15;

  public static final int NOTES_SHAPE = 16;

  public static final int ACTOR_SHAPE = 17;

  public static final int TERMINAL_SHAPE = 18;

  // regular polygon shape key
  public static final String BOX_KEY = "Box";

  public static final String TRIANGLE_KEY = "Triangle";

  public static final String RIGHT_TRIANGLE_KEY = "Right Triangle";

  public static final String DIAMOND_KEY = "Diamond";

  public static final String TRAPEZOID_KEY = "Trapezoid";

  public static final String PARALLELOGRAM_KEY = "Parallelogram";

  public static final String HOUSE_KEY = "House";

  public static final String CAVE_KEY = "Cave";

  public static final String BOW_TIE_KEY = "Bow Tie";

  public static final String BRIDGE_KEY = "Bridge";

  public static final String PENTAGON_KEY = "Pentagon";

  public static final String PENTAGON2_KEY = "Pentagon2";

  public static final String HEXAGON_KEY = "Hexagon";

  public static final String OCTAGON_KEY = "Octagon";

  public static final String DEFAULT_RECT_KEY = "Default";

  public static final String DBOX_KEY = "DBox";

  public static final String NOTES_KEY = "Notes";

  public static final String ACTOR_KEY = "Actor";

  public static final String TERMINAL_KEY = "Terminal";

  public static final String[] shapeKeys = { BOX_KEY, TRIANGLE_KEY,
      RIGHT_TRIANGLE_KEY, DIAMOND_KEY, TRAPEZOID_KEY, PARALLELOGRAM_KEY,
      HOUSE_KEY, CAVE_KEY, BOW_TIE_KEY, BRIDGE_KEY,

      PENTAGON_KEY, PENTAGON2_KEY, HEXAGON_KEY, OCTAGON_KEY,

      DEFAULT_RECT_KEY, DBOX_KEY, NOTES_KEY,

      ACTOR_KEY, TERMINAL_KEY, };

  // direction
  public static final int NORTH = 1000;

  public static final int EAST = 1001;

  public static final int SOUTH = 1002;

  public static final int WEST = 1003;

  public static final int NORTH_EAST = 1004;

  public static final int NORTH_WEST = 1005;

  public static final int SOUTH_EAST = 1006;

  public static final int SOUTH_WEST = 1007;

  public static final int INVERSE_DIRECTION = 2000;

  public static final float[][] points = { 
    // BOX_SHAPE = 0;
    { /* 1 */0f, 0f, /* 2 */1f, 0f, /* 3 */1f, 1f, /* 4 */0f, 1f },
    
    // TRIANGLE_SHAPE = 1;
    { 
      /* 1 */ 0f, 1f, 
      /* 2 */ 0.5f, 0f, 
      /* 3 */ 1f, 1f
    },
    
    // RIGHT_TRIANGLE_SHAPE = 2;
    { 
      /* 1 */ 0f, 0f,
      /* 2 */ 1f, 0f, 
      /* 3 */ 1f, 1f
    },
    
    // DIAMOND_SHAPE = 3;
    { 
      /* 1 */ 0.5f, 0f, 
      /* 2 */ 1f, 0.5f, 
      /* 3 */ 0.5f, 1f, 
      /* 4 */ 0f, 0.5f
    },
    
    // TRAPEZOID_SHAPE = 4;
    { 
      /* 1 */ 0.2f, 0f, 
      /* 2 */ 0.8f, 0f, 
      /* 3 */ 1f, 1f, 
      /* 4 */ 0f, 1f
    },
    
    // PARALLELOGRAM_SHAPE = 5;
    { 
      /* 1 */ 0.2f, 0f, 
      /* 2 */ 1f, 0f, 
      /* 3 */ 0.8f, 1f, 
      /* 4 */ 0f, 1f },
    
    // HOUSE_SHAPE = 6;
    { 
      /* 1 */ 0f, 0.3f, 
      /* 2 */ 0.5f, 0f, 
      /* 3 */ 1f, 0.3f, 
      /* 4 */ 1f, 1f, 
      /* 5 */ 0f, 1f },

    // CAVE_SHAPE = 7;
    { 
      /* 1 */ 0f, 0f, 
      /* 2 */ 0.5f, 0.3f, 
      /* 3 */ 1f, 0f, 
      /* 4 */ 1f, 1f, 
      /* 5 */ 0f, 1f
    },
      
    // BOW_TIE_SHAPE = 8;
    { 
      /* 1 */ 0f, 0f, 
      /* 2 */ 1f, 0f, 
      /* 3 */ 0f, 1f, 
      /* 4 */ 1f, 1f
    },
    
    // BRIDGE_SHAPE = 9;
    { 
      /* 1 */ 0f, 0.3f, 
      /* 2 */ 0.5f, 0f, 
      /* 3 */ 1f, 0.3f,
      /* 4 */ 1f, 1f, 
      /* 5 */ 0.5f, 0.7f,
      /* 6 */ 0f, 1f
    },

    // PENTAGON_SHAPE = 10;
    { 
      /* 1 */ 0f, 0.4f, 
      /* 2 */ 0.5f, 0f, 
      /* 3 */ 1f, 0.4f, 
      /* 4 */ 0.8f, 1f, 
      /* 5 */ 0.2f, 1f
    },
    
    // PENTAGON2_SHAPE = 11;
    { 
      /* 1 */ 0f, 0f, 
      /* 2 */ 0.8f, 0f, 
      /* 3 */ 1f, 0.5f, 
      /* 4 */ 1f, 1f, 
      /* 5 */ 0f, 1f },
    
    // HEXAGON_SHAPE = 12;
    { 
      /* 1 */ 0f, 0.5f, 
      /* 2 */ 0.3f, 0f, 
      /* 3 */ 0.7f, 0f,
      /* 4 */ 1f, 0.5f, 
      /* 5 */ 0.7f, 1f, 
      /* 6 */ 0.3f, 1f
    },
    
    // OCTAGON_SHAPE = 13;
    { 
      /* 1 */ 0f, 0.3f, 
      /* 2 */ 0.3f, 0f, 
      /* 3 */ 0.7f, 0f, 
      /* 4 */ 1f, 0.3f,
      /* 5 */ 1f, 0.7f, 
      /* 6 */ 0.7f, 1f, 
      /* 7 */ 0.3f, 1f, 
      /* 8 */ 0f, 0.7f
    },

    // DEFAULT_RECT_SHAPE = 14
    { 
      0f, 0f, 
      1f, 1f
    },

    // DBOX_SHAPE = 15;
    { 
      /* 1 */ 0f, 0.2f, 
      /* 2 */ 0.2f, 0f, 
      /* 3 */ 1f, 0f, 
      /* 4 */ 1f, 0.8f,
      /* 5 */ 0.8f, 1f, 
      /* 6 */ 0f, 1f,
      /* 7 */ 0.8f, 0.2f,
    },
    
    // NOTES_SHAPE = 16;
    { 
      /* 1 */ 0.8f, 0f, 
      /* 2 */ 1f, 0.2f, 
      /* 3 */ 1f, 1f,
      /* 4 */ 0f, 1f, 
      /* 5 */ 0f, 0f, 
      /* 6 */ 0.8f, 0f,
      /* 7 */ 0.8f, 0.2f, 
      /* 8 */ 1f, 0.2f
    },

    // ACTOR_SHAPE = 17;
    { 
      /* 1 */ 0.35f, 0f, 
      /* 2 */ 0.65f, 0.3f,
      /* 3 */ 0.5f, 0.3f, 
      /* 4 */ 0.5f, 0.6f, 
      /* 5 */ 0f, 1f, /* 6 */ 1f, 1f,
      /* 7 */ 0f, 0.45f, 
      /* 8 */ 1f, 0.45f
    },
    
    // TERMINAL_SHAPE = 18

    { 
      /* 1 */ 0.1f, 0.0f, 
      /* 2 */ 0.1f, 0.8f,
      /* 3 */ 0.0f, 1.0f, 
      /* 4 */ 1.0f, 1.0f,
      /* 5 */ 0.9f, 0.8f, 
      /* 6 */ 0.9f, 0.0f,
      /* 7 */ 0.2f, 0.1f, 
      /* 8 */ 0.8f, 0.7f, 
    },
  };

}
